package main

import (
	"fmt"
	"strconv"
)

// Errno 代表某种错误的类型。
type Errno int

// error接口类型，需要实现一个Error方法，这个方法不接受任何参数，但是会返回一个string类型的结果
func (e Errno) Error() string {
	return "errno " + strconv.Itoa(int(e))
}

func main() {
	const (
		ERR0 = Errno(0)
		ERR1 = Errno(1)
		ERR2 = Errno(2)
	)
	var myErr error = Errno(0)
	switch myErr {
	case ERR0:
		fmt.Println("ERR0")
	case ERR1:
		fmt.Println("ERR1")
	case ERR2:
		fmt.Println("ERR2")
	}
}